/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package itc.com.co.beans.utils;

/**
 *
 * @author Nas
 */
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
import EntidadesCM.AfiliacionCM;
import java.util.ArrayList;
import java.util.List;
import javax.faces.model.ListDataModel;
import org.primefaces.model.SelectableDataModel;

public class AfiliacionDataModel extends ListDataModel<AfiliacionCM> implements SelectableDataModel<AfiliacionCM> {

    private List<AfiliacionCM> afiliaciones = null;

    public AfiliacionDataModel() {
        afiliaciones = new ArrayList<AfiliacionCM>();
        System.out.println("-----------");
    }

    public AfiliacionDataModel(List<AfiliacionCM> data) {
        super(data);
        if (data != null && !data.isEmpty()) {
            afiliaciones = data;
        } else {
            afiliaciones= (List<AfiliacionCM>) getWrappedData();
        }

    }

    @Override
    public AfiliacionCM getRowData(String rowKey) {
        //In a real app, a more efficient way like a query by rowKey should be implemented to deal with huge data  
     
        try {
            if (afiliaciones == null || afiliaciones.isEmpty()) {
                afiliaciones = (List<AfiliacionCM>) getWrappedData();
            }

            for (AfiliacionCM afiliacion : afiliaciones) {
                if (afiliacion.getIdAfiliacion().equals(Integer.valueOf(rowKey))) {
                    return afiliacion;
                }
            }

        } catch (NumberFormatException e) {
        }
        return null;
    }

     @Override
    public Object getRowKey(AfiliacionCM car) {
        return car.getIdAfiliacion();
    }

    public void setAfiliaciones(List<AfiliacionCM> afiliaciones) {
        this.afiliaciones = afiliaciones;
    }

    
}
